// main.js
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import Vant from 'vant'
import 'vant/lib/index.css'
import { createPinia } from 'pinia'
import { userStore } from './store/UserStore.js' // 移除重复导入
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import * as ElementPlusIconsVue from '@element-plus/icons-vue'

// 1. 创建 Pinia 实例（必须先创建，才能实例化 userStore）
const pinia = createPinia()
// 2. 创建Vue实例
const app = createApp(App)
// 3. 在app.use(pinia)之后实例化 userStore 并调用 checkStoredUser（核心步骤）
// 先注册pinia到app
app.use(pinia)
// 然后实例化store并恢复状态
const store = userStore() // 注意：必须通过 pinia 上下文实例化
store.checkStoredUser() // 恢复状态：从 localStorage 读数据 → 同步到 Pinia → 同步 Axios 头

// 注册所有 Element Plus 图标
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
    app.component(key, component)
}

app.use(router)
    .use(Vant)
    .use(ElementPlus)
    .mount('#app')
